package main

// ----------------------------------------------------------------------------
// 文件：odm.go
// 描述：程序入口
// 版本：0.1
// 作者：lg
// 日期：2024-02-18
// 修改：2024-02-18 0.1 lg  新增版本
//
// ----------------------------------------------------------------------------
import (
	"flag"
	"odm/app"
	"odm/com"
	"odm/config"
	"odm/logger"
	"os"
)

func main() {
	// 参数检查
	if len(os.Args) != 2 && len(os.Args) != 4 {
		com.Usage()
		return
	}
	// 解析参数
	filename := *flag.String("f", "config.yaml", "config file, defualt config.yaml")
	if len(os.Args) == 4 {
		flag.CommandLine.Parse(os.Args[2:])
	}

	// 初始化配置文件
	config.SetupConfig(filename)
	conf := config.Defalut()

	// 配置日志
	logger.SetupLogger(conf)
	logger.SyncLogger()

	switch os.Args[1] {
	case "init": // 初始化程序
		com.Install()
	case "serve": // 启动服务
		app := app.New(conf)
		app.Run()
	case "stop": // 停止服务
		app.Stop()
	default:
		com.Usage()
	}

}
